A nanostore is a new type of processing building block that supports the data-centric and input/output intensive characteristics of modern computing applications and services. Nanostores collocate compute logic and a nonvolatile datastore, thereby eliminating one or more intervening levels of storage hierarchy present in typical existing processing systems. For example, a single nanostore building block (e.g., chip package) can include a datastore implemented as one or more layers of nonvolatile memories, such as phase change memories, memristors, etc., and a layer of compute logic containing data access logic and one or more computation cores.